package cn.j0.core.mybatis;

import java.io.Serializable;
import java.util.List;

import org.apache.ibatis.annotations.Param;

/**
 * 此文件为去除错误
 */
public interface BaseMapper<T, PK extends Serializable, E> {
	int countByExample(E example);

	int deleteByExample(E example);

	int deleteByPrimaryKey(PK id);

	int insert(T record);

	int insertSelective(T record);

	List<T> selectByExample(E example);

	T selectByPrimaryKey(PK id);
	
	List<T> selectByExampleWithBLOBs(T record);

	int updateByExampleSelective(@Param("record") T record, @Param("example") E example);

	int updateByExample(@Param("record") T record, @Param("example") E example);
	
	int updateByExampleWithBLOBs(@Param("record") T record);

	int updateByPrimaryKeySelective(T record);

	int updateByPrimaryKey(T record);
	
	int updateByPrimaryKeyWithBLOBs(T record);
}
